package com.yidu.t299.dao.cfj;

import com.yidu.t299.domain.cfj.Dept;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface DeptMapper {
    /**
     * 根据编号删除信息
     * @param deptId 编号
     * @return 影响的行数(返回1则为成功)
     */
    @Delete({
        "delete from dept_setting" +
        " where dept_id = #{dept_id,jdbcType=INTEGER}"
    })
    int deleteByPrimaryKey(Integer deptId);

    /**
     * 添加校区信息
     * @param dept 校区对象
     * @return 影响的行数(返回1则为成功)
     */
    @Insert({
        "insert into dept_setting (dept_id, dept_name)" +
        " values (#{deptId,jdbcType=INTEGER}, #{deptName,jdbcType=VARCHAR})"
    })
    int insert(Dept dept);

    /**
     * 根据编号查询指定的信息
     * @param deptId
     * @return
     */
    @Select({
        "select" +
        " dept_id, dept_name" +
        " from dept_setting" +
        " where dept_id = #{deptId,jdbcType=INTEGER}"
    })
    @Results(id = "DeptMap",value = {
            @Result(id = true,column = "dept_id",property = "deptId"),
            @Result(column = "dept_name",property = "deptName")
    })
    Dept selectByPrimaryKey(Integer deptId);

    /**
     * 按条件分页查询校区数据集合
     * @param rows 每页的行数
     * @param page 页码
     * @param condition 条件参数
     * @return 校区对象集合
     */
    @Select("select * from dept_setting where 1=1 ${condition} limit #{page},#{rows}")
    @ResultMap("DeptMap")
    List<Dept> selectByPage(@Param("rows") int rows, @Param("page") int page, @Param("condition") String condition);

    /**
     * 按条件查询school表中数据行数
     * @param condition 条件参数
     * @return 数据行数
     */
    @Select("select count(*) from dept_setting where 1=1 ${condition}")
    int selectCount(@Param("condition") String condition);

    /**
     * 根据信息修改其数据
     * @param dept
     * @return 影响的行数(返回1则为成功)
     */
    @Update({
        "update dept_setting",
        " set dept_name = #{deptName,jdbcType=VARCHAR}",
        " where dept_id = #{deptId,jdbcType=INTEGER}"
    })
    int updateByPrimaryKey(Dept dept);
}